System and method for providing real time indicator of voice transmission quality

ABSTRACT

A method for providing real time indicator of voice transmission quality in a Voice over Internet Protocol (VoIP) network is disclosed. The method allows to receive, at regular time interval during a call, a digital signature from a source call device. The received signature is compared to a referential signature stored on the destination devices, and in case the received signature falls out of the referential signature, a quality indication message is transmitted back to the source call device.

FIELD OF THE INVENTION

The present invention relates generally to the field of Internet Telephony Communication Standard using the Voice over Internet Protocol (VoIP) technology, and more particularly, to a system and method for providing a real time indicator of voice transmission quality.

BACKGROUND OF THE INVENTION

Voice over Internet Protocol (VoIP) is a form of Internet telephony. In an Internet telephone call, the analogue voice signal is converted to digital format and the signal is compressed into Internet protocol (IP) packets for transmission over the Internet.

Like other data networks, VoIP transfers the data packets via different ways, but not always fast enough, thus may lead to transmission leakage's or distortion.

This technology allows group of people to make telephone calls using a broad band Internet connection instead of a regular (or analogue) phone line. As explained above the significant difference to traditional telephony is the transmission of voice data. Instead of the classic voice switching technology, VoIP uses data packet transmission to send information and directs only the “data packets” of voice information to their destination.

This technology often uses the infrastructure of network already existent by sharing it with other communication services.

Meaning that, the VoIP network has to deal with the complexity of numerous network measures, like fireball or data packet protection or compression, it is necessary to ensure a secure traffic of the information against attackers.

The introduction of such measures to the VoIP network complicates several aspects of VoIP performance and in particular the dynamic port traffic and call setup procedures. In addition, to avoid intruders compromising the VoIP network, some other layers of defense are necessary to protect the voice traffic. Such layers of defense are factors that need to be included at the IP level, like encryption techniques, security signature and so . . . Thus, it is mandatory to protect the traffic network.

However, these additional factors cause an excessive amount of latency in the VoIP packet delivery and degrade the Quality of Service (QoS) that is a fundamental point to the operation of the VoIP network.

Moreover, as the telephone conversation over IP can easily be a eavesdropped manipulation and the fact that the data packet have to be replay, the voice quality is lowered due to jamming of the audio stream.

Finally, all of the previous reasons lead to a degraded voice quality together with an unceasing tradeoff adjustment between security and voice quality. Unfortunately, due to the time-critical nature of the VoIP, the implementation of corrective measures considerably degrades the quality of the voice transmission. These measures impact the inherent latency of the VoIP protocol that refers to the time it takes for voice transmission to go from its source to its destination.

Without entering into the VoIP protocol details it is important to mention that the latency is a genuine constraint that impacts both the VoIP performance and the transfer quality. Ideally, the latency value has to be set as low as possible to successfully emulate the QoS of today's telephones.

Since the data packet “travel” across the Internet there exists also a potential risk of dropouts and an undesirable generation of clipping during the VoIP voice transmission. Such effects, combined with the genuine constraints (as explained herein above), imply the managing of an acceptable voice quality to be really difficult all along a call that is in place between people.

A end user (particularly if he/she is a speaker) is completely unaware of the voice quality level when speaking. At worst, the voice may be completely understandable by the receiving parties while the speaker still carrying on speaking with no indication of any voice reception problem. He would only become aware of a problem when stopping speaking and then told by others of the poor quality during the call. This is particularly a problem for conference calls as the presenter is unaware that he/she can't be understood, leaving him/her speaking for many minutes while receiving no indication of a poor voice quality.

The objective of the present invention is to prevent the speaker that the initiated voice communication is not of a correct quality by activating in real time a voice call quality indicator.

There exist several real-time monitoring systems available on the market today such as the WinEyeQ call monitor/protocol analyser from Touchstone Inc. as shown in the following Web site link:

(http://www.touchstone-inc.com/Products/DataSheet/WinEyeQ.pdf).

Such kind of systems provide interesting solutions to monitor calls performance in term of successful/failed calls. However, they do not provide to the end user real-time indication of the voice quality during the call.

US 20020167937A1 from Goodman describes a method for testing voice call quality in a VoIP network. The method includes enabling a communications device connected to the VoIP network to answer a test call received over the VoIP network by playing a voice file, generating a test call over the VoIP network to the communications device and measuring voice call listening quality from the voice file played by the communications device.

While this solution allows to measure the voice quality on test call, it does not provide to the speaker a real-time indication of the voice quality during the live call.

Thus, there is a need for a system and method that informs in real-time the caller and the listeners in a Voice over Internet Protocol network of the quality of the voice communication. The present invention offers such solution.

SUMMARY OF THE INVENTION

Therefore, it is an object of the present invention to provide a system and a method which overcome the above issues of the prior art. The present invention is directed to a real time indicator apparatus oriented voice quality that warns a speaker that the current voice quality communication is degraded. The real time indicator is based on basic visual or audible objects, that allow a speaker to easily understand the flag indication.

Another object of the invention is to provide a real time indicator based on a real voice sampling that is the exact perception of the end user.

It is another object of the invention to provide a simple measurement system that is easily implementable in the existing telephony system and that is independent of any network synchronization operation.

According to the invention there is provided a system and method for providing real time indicator of voice transmission quality as described in the appended independent Claims.

More particularly, in a first embodiment, a method for reporting to a source call device the voice transmission quality over a Voice over Internet Protocol (VoIP) network, at at least one destination call device comprises the steps of:

-   -   receiving, at regular time interval during a call, a digital         signature from the source call device;     -   comparing the received signature to a referential signature         stored on the at least one destination device; and     -   transmitting a quality indication message to the source call         device when the received signature falls out of the referential         signature.

Further aspects of the invention are provided by the further embodiments described in the appended dependent Claims.

In another aspect of the invention, a computer program product is provided. The computer product comprises a computer usable medium having readable program code embodied in the medium and the computer program product includes at least one component to operate the steps of the method as described in the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a high level symbolic view of the network environment of the present invention;

FIG. 2 is a flowchart of the method of the present invention run on the IP client device;

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Embodiments of the invention are described herein after by way of examples with reference to the accompanying figures and drawings.

Going first to FIG. 1, a high level view of a Voice over IP network 100 is shown. A source call IP device 102 initiates a voice communication call to one or a plurality of destination call IP devices (104,106,108) over an IP network 110. The source and the destination call devices may be hardware phones, personal computer with IP software or any equivalent device that allow an IP based voice communication. It is to be appreciated that for description purposes only, FIG. 1 shows a very simplified IP network but the person skilled in the art would devise any alternative for example on a direct or indirect connection between the IP devices, either direct connection through the IP network or through other type of networks such as a LAN. Moreover the particular details of the connection between the IP device and the IP network are not described here, but the person skilled in the art would refer to the many available literature on IP network design.

The quality level control protocol monitors the transmission of the voice data packets using a broad band Internet connection or an equivalent IP network by generating and analysing a plurality of parameters that qualify the initiated telephone call. The parameters may include information on the source of the call, the destination of the call and the data packets transmitted, but also on the traffic nature of the initiated telephone call.

Generally speaking, the quality level control mechanism is based on an interactive process that allows to:

-   -   generate and transmit a signature data packet called a signature         key to a destination call when operating as a source call;     -   receive an ongoing signature key and transmit a voice quality         analysis to the source call when operating as a destination         call.

The signature key generated at the source device is a unique data packet generated or computed from the digitizing voice stream by any currently available method (not described in this document) such as a CRC method, a hashing method or any other signature computing method well-known by the man skilled in the art (i.e. a MD5 signature generation).

At the receiving side, the incoming signature key is compared to a referential signature. The referential signature is pre-coded into a software agent of the IP client device and contains a range of values that determines the acceptable/unacceptable quality level of the communication in real time by comparing all along the telephone call the current voice quality to the predefined range of values.

If the signature key falls within the predefined range, the signature key is discarded and no warning action is initiated.

If the signature key falls outside of the predefined range, a warning action is started. The receiving IP client device reports back to the sending. IP client device the voice quality currently transmitted by the speaker and an appropriate flag indicator is set up in real time on the speaker telephony system.

The flag indicator may be in the form of one of the means listed below, without limitation to any other signalling flag:

-   -   a lamp on a telephone system;     -   a message on a telephone display screen;     -   an audible or visible indicator of any kind on a computer device         being used by the speaker while using a soft phone;     -   an audible voice “whisper” alert;     -   an audible tone; or     -   a progressive colour LED that indicates by a colour range the         voice quality from “acceptable” to “unacceptable”.

On the receiving side, the quality voice control mechanism checks the incoming data packet representing the signature key that is transmitted by the sending side. One preferred implementation is to use an internal loop clock like a Phase Locked Loop clock (a well-known PLL not described here). The software agent on the receiving IP client is thus able to sense in real time the signature key that is then checked and validated against the referential signature. Furthermore, the control protocol also allows to define the owner of the ongoing transmission.

It is to be appreciated that the reliability of the signature key depends on the data packet duration. Defining an adequate duration trade off is necessary to have the signature key not affected by any factor that could degrade the IP telephony, such as latency or jitter or any known delay variation. Moreover, the signature key duration has to be chosen short enough to correctly run and reduce some undesirable intrinsic fails.

FIG. 2 depicts a high level flowchart of the control process as defined by the present invention. On a first step 200, a call is established between a source call device and at least one destination call device, thereby initializing the signature mechanisms embedded into each software agent of the IP devices.

Next, on step 202 the signature process enters a conditional loop to check for successive incoming events. Specifically, on step 204 the destination call device checks for the reception of an incoming signature key.

If no signature key is received, the process goes to a next check on step 214, otherwise the process goes to step 206.

On step 206, the incoming signature key issued from the source client is compared to the stored referential signature, on which is coded a set of predefined threshold values. If the comparison shows that the signature falls within the predefined threshold values, meaning that the quality is acceptable (branch Yes), then on step 208 the signature key received is discarded, and the process goes to step 210 to reset a timer counter. Details on the timer counter are provided below.

It the comparison shows a deviation from the predefined threshold values meaning a degraded voice quality (branch No), then a quality indicator is reported back to the source call device (step 212), and the process goes to step 210.

As already explained, there exist different possibilities to provide the real time indicator oriented voice transmission quality to the speaker. Moreover, in alternate embodiments the reporting flag may includes detailed information about the exact deviation that is detected.

Going back to step 204, if no signature key is received, the process goes to step 214 to check if a quality indicator is received. In case of such indication (branch Yes), then the process goes to step 216 where a quality indicator is reported back to the source call device. The process loops back then to step 202.

It is to be appreciated that the present mechanism is suitable to manage a conference call on which a plurality of IP Clients receives a correct signal while other ones detect a poor voice quality. To manage such configuration, a preferred implementation relies on the use of a weighting round robin algorithm (not described here as being a well-known process). One advantage of using a round robin mechanism is to allow a selective detection and reporting of a poor quality transmission.

Going back to step 214, if no quality indication is received (branch No), then the process goes to step 218 to check if the current IP device is transmitting, thereby becoming a source call device.

If the current IP device is in transmission mode (branch Yes), then the process pursues with step 220, otherwise the process loops back to step 202.

Step 220 checks the status of a timer counter. The counter is set to zero when a call is established to allow synchronization operation between source call device and destination call device(s). Depending on the counter status the signature mechanism may waits until the appropriate time occurs before initiating a signature key to the others IP Clients.

If the counter is stopped (branch Yes), then the timer is restarted (step 222) and a signature key is sent to destination call device(s) on step 224.

If the counter is counting (branch No), then the process waits until the appropriate time frame on step 226 to send the signature key (step 224).

It is to be appreciated that the signature mechanism loops till the end of the current communication by sequentially checking the three conditions of steps 204,214 and 218.

As mentioned, the counter allows to send the signature key at precise defined time interval. These intervals are required to satisfy the IP telephony constraints and in particular when the signature key is transmitted on the IP network. Depending on the IP telephony system and network characteristics the interval may differ and have to be configured appropriately. 

1. A method for reporting a quality of a voice transmission over a Voice over Internet Protocol (VoIP) network from at least one destination device to a source call device, comprising: receiving, at the at least one destination device, at regular time intervals during a call, a digital signature from the source call device; comparing the received signature to a reference signature stored on the at least one destination device; and transmitting a quality indication message to the source call device when the received signature falls out of a predefined range of the reference signature.
 2. The method of claim 1, further comprising: discarding the received digital signature when the received signature falls within the redefined range of the reference signal.
 3. The method of claim 1, wherein the reference signature contains a range of threshold values to determine the quality level of the voice transmission.
 4. The method of claim 1, wherein the digital signature is generated at the source call device using a signature construction function on a voice digital stream.
 5. The method of claim 4, wherein the comparing further comprises: applying to the received digital signature a signature checking function compatible with a signature construction function used at the source call device.
 6. The method of claim 1, further comprising: checking for an incoming quality indication message; and setting up a quality indicator flag on the source call device if a quality indication message is received.
 7. The method of claim 6, wherein the quality indicator flag is an audible or a visible indicator.
 8. The method of claim 1, further comprising: initiating the call between the source call device and the at least one destination call device.
 9. A program product stored on a computer readable medium, which when executed, reports a quality of a voice transmission over a Voice over Internet Protocol (VoIP) network from at least one destination device to a source call device, the computer readable medium comprising program code for: receiving, at the at least one destination device, at regular time intervals during a call, a digital signature from the source call device; comparing the received signature to a reference signature stored on the at least one destination device; and transmitting a quality indication message to the source call device when the received signature falls out of a predefined range of the reference signature.
 10. The program product of claim 9, further comprising program code for: discarding the received digital signature when the received signature falls within the redefined range of the reference signal.
 11. The program product of claim 9, wherein the reference signature contains a range of threshold values to determine the quality level of the voice transmission.
 12. The program product of claim 9, wherein the digital signature is generated at the source call device using a signature construction function on a voice digital stream.
 13. The program product of claim 12, wherein the program code for comparing further comprises program code for: applying to the received digital signature a signature checking function compatible with a signature construction function used at the source call device.
 14. The program product of claim 9, further comprising program code for: checking for an incoming quality indication message; and setting up a quality indicator flag on the source call device if a quality indication message is received.
 15. The program product of claim 14, wherein the quality indicator flag is an audible or a visible indicator.
 16. The program product of claim 9, further comprising program code for: initiating the call between the source call device and the at least one destination call device.
 17. A system for reporting a quality of a voice transmission over a Voice over Internet Protocol (VoIP) network from at least one destination device to a source call device, comprising: a system for receiving, at the at least one destination device, at regular time intervals during a call, a digital signature from the source call device; a system for comparing the received signature to a reference signature stored on the at least one destination device; and a system for transmitting a quality indication message to the source call device when the received signature falls out of a predefined range of the reference signature.
 18. The system of claim 17, further comprising: a system for discarding the received digital signature when the received signature falls within the redefined range of the reference signal.
 19. The system of claim 17, wherein the reference signature contains a range of threshold values to determine the quality level of the voice transmission.
 20. The system of claim 17, further comprising: a system for generating the digital signature at the source call device using a signature construction function on a voice digital stream.
 21. The system of claim 20, wherein the comparing for comparing further comprises: a system for applying to the received digital signature a signature checking function compatible with a signature construction function used at the source call device.
 22. The system of claim 17, further comprising: a system for checking for an incoming quality indication message; and a system for setting up a quality indicator flag on the source call device if a quality indication message is received.
 23. The system of claim 22, wherein the quality indicator flag is an audible or a visible indicator.
 24. The system of claim 17, further comprising: a system for initiating the call between the source call device and the at least one destination call device. 